package hello.scala
/**
 * 
 *  Scala中的if for都是可以有返回值的
 */
object For_Example {

	def main(args:Array[String])={
		
	
		//for (i <- 1 to 3; j <- 1 to 3)  println("i:"+i+" , j:"+j) //相当于java的 嵌套循环
		

		//for (i <- 1 to 3; j <- 1 to 3 if i != j) println("i:"+i+" , j:"+j) //如果i！=j 才执行打印语句
	    
	    
	    //for (i <- 1 to 3; from = 4 - i; j <- from to 3) println("i:"+i+" , j:"+j) //在循环中使用任意多的变量及表达式
	  
	  
		//如果for的循环体以yield开始,则该循环会构造出一个集合,每次迭代生成集合中的一个值。这类循环叫 for推导式   。
		//val vector=for (i <- 1 to 10) yield i % 3
		
		//println(vector) //将打印    Vector(1, 2, 0, 1, 2, 0, 1, 2, 0, 1)
		
		
	  
		val v=for(c <- "Hello"; i <- 0 to 1) yield (c+i)
		println(v)
		
	 //计算出从1到100之间所有奇数的平方之和
	  val res = (for(i <- 1 to 100 if i%2==1) yield i*i).foldRight(0)(_ +_ );
	  println(res);
	  val sum=(for(i <- 1 until 100 if i%2==1) yield i*i).sum;
      println(sum);
		

	}
	
}